package com.shujia.day04;

/*
    1、当基本数据类型当作参数传递的时候，传递的是具体的数值，不会对原本的变量值进行修改影响
    2、当引用数据类型当作参数传递的时候，传递的是地址值，方法内部可能会对地址值对应的堆内存空间中的数值进行修改。
 */
public class ArrayDemo4 {
    public static void main(String[] args) {
//        int a = 10;
//        int b = 20;
//        System.out.println("a:" + a + ",b:" + b); // a:10,b:20
//        change(a, b);
//        System.out.println("a:" + a + ",b:" + b); // a:10,b:20

        int[] arr = {1, 2, 3, 4, 5};
        change(arr);
        System.out.println(arr[1]);
    }

    public static void change(int[] arr) {
        for (int x = 0; x < arr.length; x++) {
            if (arr[x] % 2 == 0) {
                arr[x] *= 2;
            }
        }
    }

    public static void change(int a, int b) {
        System.out.println("a:" + a + ",b:" + b); // a:10,b:20
        a = b;
        b = a + b;
        System.out.println("a:" + a + ",b:" + b); // a:20,b:40
    }



}
